﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text.RegularExpressions;

public partial class Views_module_WebUserControl : System.Web.UI.UserControl
{
    CustomerBus cusBus;
    protected void Page_Load(object sender, EventArgs e)
    {
        cusBus = new CustomerBus();
    }
    protected void btnRegistry_Click(object sender, EventArgs e)
    {
        if (checkForm())
        {
            if (checkEmail()) 
            {
                Customer cus = new Customer();
                cus.First_name = txtFirstName.Text;
                cus.Last_name = txtLastName.Text;
                cus.Email = txtEmail.Text;
                cus.Password = txtPassword.Text;
                cus.Address = txtAddress.Text;
                cus.City = txtCity.Text;
                cus.Phone = txtPhone.Text;
                if (cusBus.InsertUpdateCustomer(cus))
                {
                    Session["username"] = cus.Email;
                    Session["first_name"] = cus.First_name;
                    Response.Redirect("Default.aspx");
                }
                else
                {
                    Label9.Text = "Đăng kí thất bại ";
                }
            }
            else 
            {
                Label4.Text = "Đã có người sử dụng email này";
            }

        }

    }
    protected void btnCancel_Click(object sender, EventArgs e)
    {
        Response.Redirect("Default.aspx");
    }
    public bool checkForm()
    {
        Label2.Text = "";
        Label3.Text = "";
        Label4.Text = "";
        Label5.Text = "";
        Label7.Text = "";
        Label8.Text = "";
        Label9.Text = "";
        Regex reg = new Regex(@"^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$");
        bool check = false;
        if (String.IsNullOrEmpty(txtFirstName.Text.ToString().Trim()) || String.IsNullOrEmpty(txtLastName.Text.ToString().Trim()) || String.IsNullOrEmpty(txtEmail.Text.ToString().Trim()) || String.IsNullOrEmpty(txtPassword.Text.ToString().Trim()) || String.IsNullOrEmpty(txtAddress.Text.ToString().Trim()) || String.IsNullOrEmpty(txtCity.Text.ToString().Trim()) || String.IsNullOrEmpty(txtPhone.Text.ToString().Trim()))
        {
            if (String.IsNullOrEmpty(txtFirstName.Text.ToString().Trim())) 
            {
                txtFirstName.Focus();
                Label2.Text = "Họ không được để trống";
                
            }
            else if (String.IsNullOrEmpty(txtLastName.Text.ToString().Trim())) 
            {
                txtLastName.Focus();
                Label3.Text = "Tên không được để trống";
                
            }
            else if (String.IsNullOrEmpty(txtEmail.Text.ToString().Trim()))
            {
                
                    txtEmail.Focus();
                    Label4.Text = " Email bị trống";

                
            }else if (reg.IsMatch(txtEmail.Text.ToString().Trim()) == false) 
                {
                    txtEmail.Focus();
                    Label4.Text = " Email sai định dạng";
                }
            else if (String.IsNullOrEmpty(txtPassword.Text.ToString().Trim()))
            {
                txtPassword.Focus();
                Label5.Text = "Pass word không được để trống";
                
            }
            else if (String.IsNullOrEmpty(txtAddress.Text.ToString().Trim())) 
            {
                txtAddress.Focus();
                Label7.Text = "Địa chỉ không được để trống";
            }
            else if (String.IsNullOrEmpty(txtCity.Text.ToString().Trim()))
            {
                txtCity.Focus();
                Label8.Text = "Thành phố không được để trống";
            }
            else if (String.IsNullOrEmpty(txtPhone.Text.ToString().Trim()))
            {
                txtPhone.Focus();
                Label9.Text = "Số điện thoại không được để trống";  
            }
            try
            {
                int phone = Convert.ToInt32(txtPhone.Text.ToString().Trim());
                check = true;
            }
            catch (System.Exception ex)
            {
                Label9.Text = "Số điện thoại phải là số";
                check = false;
            }  

        }
        else 
        {
            check = true;
        }
        return check;
    }
    public bool checkEmail()
    {
        bool check = false;
        Customer cus = new Customer();
        CustomerBus cusBus = new CustomerBus();
        cus = cusBus.getCustomerByEmail(txtEmail.Text.ToString().Trim());
        if (cus.Email == null || cus.Email == "") 
        {
            check = true;
        }
        return check;
    }
}